<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">
<f:view contentType="text/html">
	<h:head>
		<f:facet name="first">
			<meta http-equiv="X-UA-Compatible" content="EmulateIE8" />
			<meta content='text/html; charset=UTF-8' http-equiv="Content-Type" />
			<title>SnifferX</title>
			<link rel="shortcut icon"
				href="#{request.contextPath}/images/snifferX.ico" />
		</f:facet>
		<link type="text/css" rel="stylesheet"
			href="#{request.contextPath}/css/default.css" />
		<link type="text/css" rel="stylesheet"
			href="#{request.contextPath}/css/ui.css" />
		<ui:insert name="customCSS"></ui:insert>
		<style type="text/css">
body {
	margin: 0;
	padding: 0;
	/***show white background***/
	/* background-image: url(#{request.contextPath}/images/Fedora.jpg); */
	/* background-repeat: no-repeat; */
}

.no-border {
	border: none;
}

.ui-menu-child {
	background: white !important;
}

.ui-growl {
	position: absolute;
	top: 4%;
	/**left:50%;
    z-index:9999;**/
}

.ui-widget-overlay {
	background: none repeat scroll 0% 0% rgb(0, 0, 0);
	opacity: 0.3;
}

<!--
slider-->#slideshow {
	position: relative;
	height: 237px;
	width: 840px;
	border: 10px solid rgb(255, 255, 255);
	margin: 0 auto 15px;
}

#slideshow div {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	opacity: 0.0;
	height: 195px;
	overflow: hidden;
	background-color: #FFF;
}

#slideshow div.current {
	z-index: 0;
}

#slideshow div.prev {
	z-index: -1;
}

#slideshow div img {
	display: block;
	border: 0;
	margin-bottom: 10px;
}

#slideshow div span {
	display: none;
	/**position: absolute;**/
	bottom: 0;
	left: 0;
	/* height: 50px;
	line-height: 50px; */
	/* background: #000; */
	/* color: #fff; */
	width: 840px;
	height: 237px;
}

#slideshow div.current span {
	display: block;
}
</style>



		<!-- slider -->
		<script type="text/javascript">
function slideSwitch() {
	var $current = $("#slideshow div.current");
	
	// 判断div.current个数为0的时候 $current的取值
	if ( $current.length == 0 ) $current = $("#slideshow div:last");
	
	// 判断div.current存在时则匹配$current.next(),否则转到第一个div
	var $next =  $current.next().length ? $current.next() : $("#slideshow div:first");
	$current.addClass('prev');
	
	$next.css({opacity: 0.0}).addClass("current").animate({opacity: 1.0}, 1000, function() {
			//因为原理是层叠,删除类,让z-index的值只放在轮转到的div.current,从而最前端显示
			$current.removeClass("current prev");
		});
}

$(function() {
	$("#slideshow span").css("opacity","1.0");
	$(".current").css("opacity","1.0");
	
	// 设定时间为3秒(1000=1秒)
  	setInterval( "slideSwitch()", 3000 ); 
});
</script>







		<ui:insert name="customStyle"></ui:insert>
		<ui:insert name="customJS"></ui:insert>
		<!-- even if the pages not include the primefaces components ,jquery working also  -->
		<h:outputScript library="primefaces" name="jquery/jquery.js" />
	</h:head>

	<p:growl id="growl" showDetail="false" />


	<p:ajaxStatus onstart="PF('statusDialog').show();"
		onsuccess="PF('statusDialog').hide();" />

	<p:dialog modal="true" widgetVar="statusDialog" resizable="false"
		showHeader="false" draggable="false" closable="false">
		<h:panelGrid border="0" style="text-align:center; font-size:11px; "
			cellpadding="0" cellspacing="0" width="100%">
			<h:outputText value="Please wait..."
				style="text-align:center; font-size:11px; "></h:outputText>
			<h:graphicImage value='/images/spinner.gif' width="40" height="40"
				style="color:#1818E7"></h:graphicImage>
			<h:outputText value="Processing..."
				style="text-align:center; font-size:11px; "></h:outputText>
		</h:panelGrid>
	</p:dialog>


	<h:body>

		<!-- show tab all time
		<p:outputPanel
			rendered="#{loginBean!= null ?(loginBean.currentUserDetails != null):'false'}"> -->
		<p:outputPanel rendered="true">
			<div style="BACKGROUND-COLOR: #333333; width: 100%; height: 35px;">
				<!-- <img src="#{request.contextPath}/images/website_sprite.png"
					alt="some_text" style="height: 37px;" /> -->
				<h:form prependId="false" style="COLOR: #ffffff; diplay:inline">
					<!-- <div id='cssmenu' style="float: right"> -->
					<!-- <div id='cssmenu'
						style="float: right; BACKGROUND-COLOR: black; border: 0px; margin-top: -37px; height: 20px; background: black"> -->

					<!-- left menu -->
					<div id='cssmenu'
						style="float: left; BACKGROUND-COLOR: black; border: 0px; height: 34px; background: black">
						<ul>
							<li><h:panelGroup>
									<a href='#{request.contextPath}/index.jsp'><span
										style="FONT-SIZE: 11px; FONT-WEIGHT: bold;">Home</span></a>
								</h:panelGroup></li>
							<li class='has-sub'><h:panelGroup>
									<a href='#'><span
										style="FONT-SIZE: 11px; FONT-WEIGHT: bold;">Tutorials</span></a>
									<ul>
										<li><a href='#'><span
												style="FONT-SIZE: 11px; FONT-WEIGHT: bold;">Java</span></a></li>
										<li><a href='#'><span
												style="FONT-SIZE: 11px; FONT-WEIGHT: bold;">Jquery</span></a></li>
										<li class='last'><a href='#'><span
												style="FONT-SIZE: 11px; FONT-WEIGHT: bold;">Weblogic</span></a></li>
									</ul>
								</h:panelGroup></li>
							<li class='has-sub'><h:panelGroup>
									<a href='#'><span
										style="FONT-SIZE: 11px; FONT-WEIGHT: bold;">examples</span></a>
									<ul>
										<li><a
											href='#{request.contextPath}/manage/editProfile.jsf'><span
												style="FONT-SIZE: 11px; FONT-WEIGHT: bold;">JPA</span></a></li>
										<li class='last'><a href='#'><span
												style="FONT-SIZE: 11px; FONT-WEIGHT: bold;">Spring</span></a></li>
									</ul>
								</h:panelGroup></li>
						</ul>
					</div>

					<div id='cssmenu'
						style="float: right; BACKGROUND-COLOR: black; border: 0px; height: 20px; background: black">
						<ul>
							<!-- show when login -->
							<li><h:panelGroup
									rendered="#{loginBean!= null ?(loginBean.currentUserDetails != null):'false'}">
									<a href='#'> <span> <h:outputText
												value="#{loginBean.user.firstName}  #{loginBean.user.lastName}" />
									</span>
									</a>
								</h:panelGroup></li>

							<li><h:panelGroup
									rendered="#{loginBean!= null ?(loginBean.currentUserDetails != null):'false'}">
									<a href='#{request.contextPath}/index.jsp'><span>Home</span></a>
								</h:panelGroup></li>
							<li class='has-sub'><h:panelGroup
									rendered="#{loginBean!= null ?(loginBean.currentUserDetails != null):'false'}">
									<a href='#'><span>File</span></a>
									<ul>
										<li><a href='#'><span>Project</span></a></li>
										<li><a href='#'><span>Menus</span></a></li>
										<li class='last'><a href='#'><span>Products</span></a></li>
									</ul>
								</h:panelGroup></li>
							<li class='has-sub'><h:panelGroup
									rendered="#{loginBean!= null ?(loginBean.currentUserDetails != null):'false'}">
									<a href='#'><span>Action</span></a>
									<ul>
										<li><a
											href='#{request.contextPath}/manage/editProfile.jsf'><span>Edit
													profile</span></a></li>
										<li class='last'><a href='#'><span>Location</span></a></li>
									</ul>
								</h:panelGroup></li>

							<li><h:panelGroup
									rendered="#{loginBean!= null ?(loginBean.currentUserDetails != null):'false'}">
									<a href='#' style="padding: 0 0px;"><span><p:graphicImage
												value="#{loginBean.user.image}" style="height:35px;" alt=" "
												cache="false">
												<f:param value="#{now.time}"></f:param>
											</p:graphicImage></span></a>
								</h:panelGroup></li>
							<li class='last'><h:panelGroup
									rendered="#{loginBean!= null ?(loginBean.currentUserDetails != null):'false'}">
									<a href='#{request.contextPath}/j_spring_security_logout'><span>Quit</span></a>
								</h:panelGroup></li>
							<!-- show when login end -->

							<!-- show when guest -->
							<li><h:panelGroup
									rendered="#{loginBean!= null ?(loginBean.currentUserDetails == null):'true'}">
									<h:commandLink id="loginCmdLnk" rendered="false"
										action="/login?faces-redirect=true">
										<h:outputText value="Login" />
									</h:commandLink>
								</h:panelGroup></li>
							<li><h:panelGroup
									rendered="#{loginBean!= null ?(loginBean.currentUserDetails == null):'true'}">
									<h:commandLink id="RegisterCmdbtn" rendered="false"
										action="/register?faces-redirect=true">
										<h:outputText value="Register" />
									</h:commandLink>
								</h:panelGroup></li>
							<!-- show when guest end -->



						</ul>
					</div>

				</h:form>
			</div>


			<!-- added a full picture -->
			<div id="header"
				style="height: 121px; background: none repeat scroll 0% 0% rgb(243, 246, 249);">
				<a href="http://www.javacodegeeks.com"> <img id="logo"
					width="400" height="120" alt="Java Code Geeks"
					src="http://1-ps.googleusercontent.com/h/www.javacodegeeks.com/wp-content/uploads/2012/12/JavaCodeGeeks-logo.png.pagespeed.ce.WgihU3ENJB.png"></img>
				</a>
				<!-- <a href="#"> <img id="logo" width="400" height="120"
					alt="Java Code Geeks"
					src="#{request.contextPath}/images/SnifferX-Big.png"></img>
				</a>-->
				<div class="header-ad">…</div>
				<div class="clear"></div>
			</div>

			<!-- added cat menu -->
			<h:form prependId="false">
				<div id='catmenu'>
					<ul>
						<!-- <li class='active has-sub'><a href='index.html'><span>Java</span></a> -->
						<li
							class="#{navigationControlBean.selectTab == 'java' ? 'active has-sub' : 'has-sub'}">
							<h:commandLink id="javaCmdLnk"
								action="#{navigationControlBean.doSelectTab()}">
								<h:outputText value="Java" />
								<f:param name="selectedTab" value="java" />
							</h:commandLink>

							<ul>
								<li><a href='java/core-java.jsf'><span>CoreJava</span></a></li>
								<li class='last'><a href='java/enterprise-java.jsf'><span>Enterprise
											Java</span></a></li>
							</ul>
						</li>
						<li
							class="#{navigationControlBean.selectTab == 'Android' ? 'active has-sub' : 'has-sub'}"><a
							href='android.jsf'><span>Android</span></a>
							<ul>
								<li><a href='android/android-core.jsf'><span>Android
											Core</span></a></li>
								<li class='last'><a href='android/android-game.jsf'><span>Andriod
											Game</span></a></li>
							</ul></li>
						<li
							class="#{navigationControlBean.selectTab == 'JVM-language' ? 'active has-sub' : 'has-sub'}"><a
							href='jvm-language.jsf'><span>JVM language</span></a>
							<ul>
								<li class='last'><a href='jvm-language/jruby.jsf'><span>Jruby</span></a></li>
							</ul></li>
						<li
							class="#{navigationControlBean.selectTab == 'blogger' ? 'active last' : 'last'}"><a
							href='blogger.jsf'><span>Blogger</span></a></li>
					</ul>
				</div>
			</h:form>

			<!-- show where you are now and nowtime when you into a cat  -->
			<!-- <div id="breadcrumbs" class="clear">
				<div id="breadcrumb">
					You are here: <a href="http://www.javacodegeeks.com"> Home </a> <span
						id="ico-arrow"></span> Java
				</div>
				<span class="current-time"><h:outputText
						value="#{now}">
						<f:convertDateTime dateStyle="full" type="date" />
					</h:outputText> </span>
			</div> -->

			<div id="mainx" class="clear">
				<div id="contentx">
					<div id="slideshow">
						<div class="current">
							<span style="display: inline-flex;"><img src="1.jpg"
								alt="" style="width: auto;" /><span
								style="text-align: left; margin-left: 18px;">
									<h2
										style="font-size: 11px; line-height: 12px; color: rgb(50, 102, 147);">Android
										Game Postmortem – ArkDroid Development</h2>
									<p
										style="color: rgb(153, 153, 153); margin: 5px 0px; font-size: 11px;">
										by Ilias Tsagklis on July 19th, 2011</p>
									<p style="font: 12px Arial, serif;">
										I recently stumbled upon an awesome Stack Overflow thread,
										entitled “What is the best comment in source code you have
										ever encountered?”. As you might have guessed, it is a
										collection of funny source code comments, provided by
										developers all over the world. Take a look at it, it could
										definitely make your day. I am reposting here my personal
										favorites ... <span class="meta-more" style="display: inline;">
											<a
											title="Permalink to Android Game Postmortem – ArkDroid Development"
											href="www.163.com"> Read more »</a>

										</span>
									</p>
							</span></span>
						</div>
						<div>
							<span style="display: inline-flex;"><img src="2.jpg"
								alt="" style="width: auto;" /><span
								style="text-align: left; margin-left: 18px;">
									<h2
										style="font-size: 11px; line-height: 12px; color: rgb(50, 102, 147);">Funny
										Source Code Comments</h2>
									<p
										style="color: rgb(153, 153, 153); margin: 5px 0px; font-size: 11px;">
										by Byron Kiourtzoglou on June 15th, 2011</p>
									<p style="font: 12px Arial, serif;">
										Some months ago we received an email from a fellow Java
										developer, Tamas Jano, asking to be part of our JCG partners
										program. To our surprise he maintains a blog named “Against
										The Grain” debating about game development for the Android
										platform. I have been reading all of his articles since then
										and I must admit that his writings have been an inspiration
										... <span class="meta-more" style="display: inline;"> <a
											title="Permalink to Android Game Postmortem – ArkDroid Development"
											href="www.163.com"> Read more »</a>

										</span>
									</p>
							</span></span>
						</div>
						<div>
							<span style="display: inline-flex;"><img src="3.jpg"
								alt="" style="width: auto;" /><span
								style="text-align: left; margin-left: 18px;">
									<h2
										style="font-size: 11px; line-height: 12px; color: rgb(50, 102, 147);">Android
										Google Maps Tutorial</h2>
									<p
										style="color: rgb(153, 153, 153); margin: 5px 0px; font-size: 11px;">
										by Liang WeiCheng on July 19th, 2013</p>
									<p style="font: 12px Arial, serif;">
										In my previous article about acceptance testing I wrote about
										how tools like FitNesse and Cucumber focus on collaboration
										between developers and testers. Of course that’s not all these
										tools help us with. In this post we’ll take a deeper look at
										acceptance testing as a practice and see what the tools gain
										us. Acceptance Testing is an agile practice that refers to
										functional testing a user story. Sometimes it is referred to
										as Agile Acceptance Testing or Specification by Example.
										Acceptance testing addresses .... <span class="meta-more"
											style="display: inline;"> <a
											title="Permalink to Android Game Postmortem – ArkDroid Development"
											href="www.163.com"> Read more »</a>

										</span>
									</p>
							</span></span>
						</div>
						<div>
							<span style="display: inline-flex;"><img src="4.jpg"
								alt="" style="width: auto;" /><span
								style="text-align: left; margin-left: 18px;">
									<h2
										style="font-size: 11px; line-height: 12px; color: rgb(50, 102, 147);">Stop
										Telling Stories</h2>
									<p
										style="color: rgb(153, 153, 153); margin: 5px 0px; font-size: 11px;">
										by Xue Liang on Dec 29th, 2013</p>
									<p style="font: 12px Arial, serif;">
										There are beautiful, simple ideas in today’s Agile development
										methods that work really well. And some that don’t. Like
										defining all of your requirements as User Stories. I don’t
										like the name. Stories are what you tell children before
										putting them to bed, not valuable information that you use to
										build complex systems. I don’t like the format that most teams
										use to write stories. And I don’t like how they use them.
										Sometimes you need Stories, Sometimes you need Requirements. I
										don’t like the format that most teams use to write stories.
										And I don’t like how they use them. Sometimes you need
										Stories, Sometimes you need Requirements ... <span
											class="meta-more" style="display: inline;"> <a
											title="Permalink to Android Game Postmortem – ArkDroid Development"
											href="www.163.com"> Read more »</a>

										</span>
									</p>
							</span></span>
						</div>
						<div>
							<span style="display: inline-flex;"><img src="5.jpg"
								alt="" style="width: auto;" /><span
								style="text-align: left; margin-left: 18px;">
									<h2
										style="font-size: 11px; line-height: 12px; color: rgb(50, 102, 147);">Java
										8 parameter name at runtime</h2>
									<p
										style="color: rgb(153, 153, 153); margin: 5px 0px; font-size: 11px;">
										by Biju Kunjummen on December 27th, 2013</p>
									<p style="font: 12px Arial, serif;">
										Java 8 will be introducing an easier way to discover the
										parameter names of methods and constructors.<br /> Prior to
										Java 8, the way to find the parameter names is by turning the
										debug symbols on at the compilation stage which adds meta
										information about the parameter names in the generated class
										files then to extract the information which is complicated and
										requires manipulating the byte code to get to the parameter
										names.<br /> With Java 8, though the compilation step with
										debug symbols on is still required to get the parameter names
										into the class byte code, the extraction of this information
										is way simpler and is supported with Java reflection, for eg.
										Consider a simple class:... <span class="meta-more"
											style="display: inline;"> <a
											title="Permalink to Android Game Postmortem – ArkDroid Development"
											href="www.163.com"> Read more »</a>

										</span>
									</p>
							</span></span>
						</div>
					</div>

					<!-- two partion -->
					<div class="content-bar">
						<div
							style="width: 662px; float: left; border-right: 1px solid rgb(236, 237, 232);">
							<h3 class="section-title" style="margin-top: 0px;">What's
								New here ?</h3>

							<!-- entity -->
							<div id="post-20124"
								class="post-20124 post type-post status-publish format-standard sticky hentry category-meta-jcg clear odd">
								<a rel="bookmark"
									href="http://www.javacodegeeks.com/2013/12/top-10-javacodegeeks-posts-for-2013.html">

									<img class="entry-thumb wp-post-image" height="100" width="100"
									src="jcg-logo.jpg" alt="jcg-logo"></img>

								</a>
								<h2 class="entry-title">
									<a rel="bookmark"
										title="Permalink to Top 10 JavaCodeGeeks posts for 2013"
										href="http://www.javacodegeeks.com/2013/12/top-10-javacodegeeks-posts-for-2013.html">Top
										10 JavaCodeGeeks posts for 2013</a>
								</h2>
								<div class="entry-meta"></div>
								<div class="entry-excerpt">2013 is coming to an end. What
									a year! Loyal to our tradition, we are compiling the top Java
									Code Geeks for the year that just passed. As with the Top 10
									JavaCodeGeeks posts for 2010, ...</div>
							</div>
							<div id="post-20124"
								class="post-20124 post type-post status-publish format-standard sticky hentry category-meta-jcg clear odd">
								<a rel="bookmark"
									href="http://www.javacodegeeks.com/2013/12/top-10-javacodegeeks-posts-for-2013.html">

									<img class="entry-thumb wp-post-image" height="100" width="100"
									src="Spring.jpg" alt="jcg-logo"></img>

								</a>

								<h2 class="entry-title">
									<a rel="bookmark"
										title="Permalink to Top 10 JavaCodeGeeks posts for 2013"
										href="http://www.javacodegeeks.com/2013/12/top-10-javacodegeeks-posts-for-2013.html">Searching
										Subversion Logs with Groovy</a>
								</h2>
								<div class="entry-meta"></div>
								<div class="entry-excerpt">There are times when I want to
									quickly search a Subversion repository by author, by range of
									revisions, and/or by commit messages. Krzysztof Kotowicz has
									posted the blog post Grep Subversion ...</div>
							</div>
							<div id="post-20124"
								class="post-20124 post type-post status-publish format-standard sticky hentry category-meta-jcg clear odd">
								<a rel="bookmark"
									href="http://www.javacodegeeks.com/2013/12/top-10-javacodegeeks-posts-for-2013.html">
									<img class="entry-thumb wp-post-image" height="100" width="100"
									src="Groovy.jpg" alt="jcg-logo"></img>
								</a>

								<h2 class="entry-title">
									<a rel="bookmark"
										title="Permalink to Top 10 JavaCodeGeeks posts for 2013"
										href="http://www.javacodegeeks.com/2013/12/top-10-javacodegeeks-posts-for-2013.html">Memory
										leaks and memory management in Java applications</a>
								</h2>
								<div class="entry-meta"></div>
								<div class="entry-excerpt">One of the more prominent
									features of the Java platform is its automatic memory
									management. Many people translate this feature erroneously into
									there are no memory leaks in Java. However, ...</div>
							</div>
							<div id="post-20124"
								class="post-20124 post type-post status-publish format-standard sticky hentry category-meta-jcg clear odd">
								<a rel="bookmark"
									href="http://www.javacodegeeks.com/2013/12/top-10-javacodegeeks-posts-for-2013.html">
									<img class="entry-thumb wp-post-image" height="100" width="100"
									src="java.jpg" alt="jcg-logo"></img>
								</a>

								<h2 class="entry-title">
									<a rel="bookmark"
										title="Permalink to Top 10 JavaCodeGeeks posts for 2013"
										href="http://www.javacodegeeks.com/2013/12/top-10-javacodegeeks-posts-for-2013.html">Java
										EE 7 and WebSocket API for Java (JSR 356) with AngularJS on
										WildFly</a>
								</h2>
								<div class="entry-meta"></div>
								<div class="entry-excerpt">This blog post describes the
									Java API for WebSocket Protocol (JSR 356) (which is one of four
									newest JSRs for the Java EE 7 platform) and provides a concrete
									application deployed on ...</div>
							</div>
							<div id="post-20124"
								class="post-20124 post type-post status-publish format-standard sticky hentry category-meta-jcg clear odd">
								<a rel="bookmark"
									href="http://www.javacodegeeks.com/2013/12/top-10-javacodegeeks-posts-for-2013.html">
									<img class="entry-thumb wp-post-image" height="100" width="100"
									src="hacker.jpg" alt="jcg-logo"></img>
								</a>

								<h2 class="entry-title">
									<a rel="bookmark"
										title="Permalink to Top 10 JavaCodeGeeks posts for 2013"
										href="http://www.javacodegeeks.com/2013/12/top-10-javacodegeeks-posts-for-2013.html">Top
										100 Most Popular Scala Libraries – Based on 10,000 GitHub
										Projects</a>
								</h2>
								<div class="entry-meta"></div>
								<div class="entry-excerpt">As Scala developers working in
									a language and ecosystem that’s rapidly growing and evolving,
									we’re faced with a constant dilemma whenever we write new code
									– go with that hot ...</div>
							</div>






						</div>
						<div style="float: right; width: 227px;">
							<h3 class="section-title" style="margin-top: 0px;">What's
								HOT</h3>
						</div>
					</div>
				</div>
				<div id="sidebarx">
					<br /> right side<br /> right side<br /> right side<br />right
					side<br /> right side<br /> right side<br /> right side<br />
					right side<br />
				</div>
			</div>


		</p:outputPanel>





		<!-- comment here  -->
		<!-- <h:form>
			<p:stack id="stack" icon="/images/stack/stack.png" expanded="false"
				model="#{myMenuBean.model}">
			</p:stack>
		</h:form> -->

		<!-- 
		<div id="wholeContent">
			<table width="100%" height="100%">
				<tr>
					<td align="center" valign="middle"><ui:insert name="content"></ui:insert>
					</td>
				</tr>
			</table>
		</div>
 -->
	</h:body>



</f:view>
</html>